home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / pcloan.arc / PC-LOAN.BAS
BASIC Source File  |  1985-09-27  |  26KB  |  588 lines

  1. 5 REM
  2. 10 CLS:KEY OFF
  3. 20 ON ERROR GOTO 4010 
  4. 30 PRINT:PRINT:PRINT:PRINT "           ENTER THE NUMBER OF ONE OF THE FOLLOWING PROGRAMS:"
  5. 40 PRINT:PRINT            
  6. 50 PRINT  "                       1 - PRESENT VALUE OF A FUTURE SUM"
  7. 60 PRINT  "                       2 - SIMPLE INTEREST FOR DAYS"
  8. 70 PRINT  "                       3 - FUTURE VALUE OF A PRESENT SUM"
  9. 80 PRINT  "                       4 - AMORTIZATION SCHEDULE"
  10. 90 PRINT  "                       5 - INTEREST RATE - COMPOUND INTEREST"
  11. 100 PRINT "                       6 - INTEREST RATE - INSTALLMENT LOAN"
  12. 110 PRINT "                       7 - DAYS BETWEEN DATES"
  13. 120 PRINT "                       8 - TERM OF AN INSTALLMENT LOAN"
  14. 130 PRINT "                       9 - PRESENT VALUE OF A SERIES OF PAYMENTS"
  15. 140 PRINT "                       10 - REAL ESTATE CAPITAL INVESTMENT"
  16. 141 PRINT "                       11 - NOMINAL & EFFECTIVE INTEREST RATES
  17. 142 PRINT "                       12 - INTERNAL RATE OF RETURN
  18. 143 PRINT "                       13 - FUTURE VALUE OF REGULAR DEPOSITS
  19. 144 PRINT "                       14 - REGULAR DEPOSITS FOR FUTURE VALUE
  20. 145 PRINT "                       15 - DEPRECIATION - AMOUNT
  21. 146 PRINT "                       16 - DEPRECIATION - RATE
  22. 147 PRINT "                       17 - DEPRECIATION - SALVAGE VALUE
  23. 148 PRINT "                       18 - DEPRECIATION - SCHEDULE
  24. 151 PRINT:INPUT "           TYPE PROGRAM NUMBER AND PRESS RETURN ";F
  25. 160 REM
  26. 170 ON F GOTO 190,390,550,720,1030,1310,1670,1940,2220,2510,4220,4380,4630,4820,4950,5100,5190,5290
  27. 180 RUN   
  28. 190 F=0:R=0:M=0:N=0
  29. 200 CLS:PRINT:PRINT "THIS PROGRAM CALCULATES THE PRESENT VALUE OF"
  30. 210 PRINT "A FUTURE SUM, DISCOUNTING IT FOR A PARTICULAR"
  31. 220 PRINT "INTEREST RATE, COMPOUNDED AS INSTRUCTED."
  32. 230 PRINT:INPUT "STATE THE FUTURE SUM, IN DOLLARS ";F
  33. 240 INPUT "STATE THE ANNUAL INTEREST RATE, IN % ";R
  34. 250 INPUT "STATE THE NUMBER OF PERIODS IN ONE YEAR ";M
  35. 260 INPUT "STATE THE NUMBER OF PERIODS TO BE CALCULATED ";N
  36. 270 I=R/M:I=I/100
  37. 280 T=1+I:A=T
  38. 290 IF N=1 GOTO 310
  39. 300 FOR X=1 TO (N-1):S=A*T:A=S:NEXT X
  40. 310 P=F/A:CLS:PRINT:PRINT:PRINT
  41. 320 PRINT " A FUTURE SUM OF $";F;" FOR ";N;" PERIODS,"
  42. 330 PRINT " WHERE THERE ARE";M;"PERIODS PER YEAR AT"
  43. 340 PRINT R;"% PER YEAR IS WORTH, IN  TODAY'S DOLLARS:"
  44. 350 PRINT:PRINT TAB(30);"$";P
  45. 360 PRINT:INPUT "PRESS ENTER TO RETURN. ";A$
  46. 370 RUN   
  47. 380 END
  48. 390 P=0:D=0:R=0
  49. 400 CLS:PRINT:PRINT "THIS ROUTINE CALCULATES SIMPLE INTEREST ON
  50. 410 PRINT "DOLLARS HELD IN DEPOSIT FOR A SPECIFIED PERIOD
  51. 420 PRINT "USING A SPECIFIED PERCENTAGE OF INTEREST.":PRINT
  52. 430 INPUT "HOW LARGE IS THE DEPOSIT (IN DOLLARS)";P
  53. 440 INPUT "HOW LONG WILL YOU LEAVE IT IN (IN DAYS)";D
  54. 450 INPUT "WHAT INTEREST RATE DO YOU EXPECT (IN %)";R
  55. 460 CLS:PRINT:PRINT:PRINT "FOR A STARTING PRINCIPAL OF $";P;"AT A"
  56. 470 PRINT "RATE OF";R;"% FOR ";D;"DAYS, THE INTEREST"
  57. 480 PRINT "AMOUNTS TO $";
  58. 490 I=R/100/365*D*P
  59. 500 IF I>327.68 GOTO 520  
  60. 510 I=INT(I*100+.5)/100
  61. 520 PRINT TAB(12);I;"OR $";I/D;"PER DAY.":PRINT:PRINT:PRINT
  62. 530 INPUT "PRESS ENTER TO RETURN.";A$:RUN   
  63. 540 END
  64. 550 CLS:P=0:R=0:M=0:N=0
  65. 560 PRINT:INPUT "ENTER PRESENT SUM, IN DOLLARS:";P
  66. 570 PRINT:INPUT "ENTER ANNUAL INTEREST RATE, IN % ";R
  67. 580 PRINT:INPUT "ENTER NUMBER OF PERIODS IN ONE YEAR ";M
  68. 590 PRINT:INPUT "ENTER NUMBER OF PERIODS TO MATURITY ";N
  69. 600 I=R/M:I=I/100:T=I+1:A=T
  70. 610 IF N=1 THEN GOTO 630  
  71. 620 FOR K=1 TO (N-1):S=A*T:A=S:NEXT K
  72. 630 F=P*A:CLS
  73. 640 CLS:PRINT "FOR A PRESENT SUM OF $";P;"AT AN ANNUAL"
  74. 650 PRINT "INTEREST RATE OF";R;"%, FOR ";N;"PERIODS, WHERE"
  75. 660 PRINT "THERE ARE";M;"PERIODS PER YEAR:"
  76. 670 PRINT:PRINT "THE FUTURE VALUE IS $";F
  77. 680 PRINT "THE INCREASE IS $";F-P;", OR";(F/P)*100-100;"%"
  78. 690 PRINT:INPUT "PRESS ENTER TO RETURN TO MENU.";A$
  79. 700 RUN   
  80. 710 END
  81. 720 DEFDBL I,T:C=0:P=0:L=0:R=0:M=0:CLS
  82. 730 INPUT " PRINCIPAL, DOLLARS AND CENTS ";P
  83. 740 INPUT " # OF PERIODS, IN MONTHS ";L
  84. 750 INPUT " ANNUAL INTEREST RATE, IN % ";R
  85. 760 INPUT " PAYMENT, IF  KNOWN, (ENTER) IF  NOT ";M
  86. 770 I=R/1200
  87. 780 T=1-1/(1+I)^L:K=P
  88. 790 IF M<>0 THEN GOTO 810  
  89. 800 M=P*I/T
  90. 810 GOSUB 990
  91. 820 FOR Z=1 TO L
  92. 830 IF C<12 GOTO 880  
  93. 840 PRINT " YEAR OF LOAN ";INT(Z-1)/12;
  94. 850 PRINT "    $";K;"FOR ";L;"MONTHS AT";R;"%"
  95. 860 INPUT "PRESS ENTER TO CONTINUE, 1 TO RETURN TO MENU ";CH:IF CH=1 THEN 10   
  96. 870 C=0:GOSUB 990
  97. 880 A=P*I
  98. 890 A=INT(A*100+.5)/100
  99. 900 M=INT(M*100+.5)/100
  100. 910 B=M-A:P=P-B
  101. 920 B=INT(B*100+.5)/100
  102. 930 P=INT(P*100+.5)/100
  103. 940 PRINT USING "####    ";Z;:PRINT USING "###,###.##";P;M;B;A
  104. 950 IF  P<=0  THEN  970
  105. 960 C=C+1:NEXT Z
  106. 970 PRINT:INPUT "PRESS ENTER TO RETURN TO MENU.";A$:RUN   
  107. 980 END
  108. 990 CLS
  109. 1000 PRINT "PAYMENT   REMAINING  MONTHLY   PRINCIPAL INTEREST"
  110. 1010 PRINT "NUMBER    PRINCIPAL  PAYMENT   PAYMENT   PAYMENT
  111. 1020 RETURN
  112. 1030 CLS:PRINT:PRINT:PRINT
  113. 1040 INPUT "STATE THE FUTURE VALUE, IN $";FV
  114. 1050 IF F=2 THEN 1130 
  115. 1060 INPUT "STATE THE PRESENT VALUE, IN $";PV
  116. 1070 IF F=1 THEN 1130 
  117. 1080 INPUT "STATE THE NUMBER OF INTEREST PERIODS PER YEAR ";PY
  118. 1090 IF F=3 THEN 1130 
  119. 1100 PRINT "STATE THE LENGTH OF TIME OF THE TOTAL FOR WHICH"
  120. 1110 PRINT "INTEREST IS TO BE FIGURED, USING THE FOLLOWING"
  121. 1120 INPUT "FORMAT (YY,MM,DD) ";Y,M,D
  122. 1130 PD=Y*PY+M*PY/12+D*PY/365
  123. 1140 I=((FV/PV)^(1/PD)-1)*100*PY
  124. 1150 A$="###.##":F=O
  125. 1160 CLS:PRINT:PRINT:PRINT "FOR A FUTURE SUM OF $";FV;"WITH A PRESENT VALUE"
  126. 1170 PRINT "OF $";PV;"WHERE THERE ARE";PY;"PERIODS PER YEAR,
  127. 1180 PRINT "OVER";Y;"YEARS,";M;"MONTHS AND";D;"DAYS, THE"
  128. 1190 PRINT "ANNUAL INTEREST RATE IS ";:PRINT USING A$;I;:PRINT " %"
  129. 1200 PRINT:PRINT "WHAT DO YOU WANT TO DO?"
  130. 1210 PRINT "   1 - CHANGE PRESENT VALUE"
  131. 1220 PRINT "   2 - CHANGE FUTURE VALUE"
  132. 1230 PRINT "   3 - CHANGE PERIODS PER YEAR
  133. 1240 PRINT "   4 - CHANGE TIME RANGE
  134. 1250 PRINT "   5 - RERUN ENTIRE PROGRAM"
  135. 1260 PRINT "   6 - RETURN TO MENU"
  136. 1270 PRINT:INPUT "ENTER THE NUMBER OF YOUR CHOICE";F
  137. 1280 IF F<1 OR F>6 THEN 1160 
  138. 1290 F=INT(F):ON F GOTO 1060,1040,1080,1100,1030,10
  139. 1300 END
  140. 1310 CLEAR:F=0:CLS:DEFDBL I:A$="##.## %"
  141. 1320 ON ERROR GOTO 4010 
  142. 1330 PRINT:PRINT "STATE THE PRESENT VALUE (AMOUNT), IN $ ";:INPUT PV
  143. 1340 IF F=1 GOTO 1420 
  144. 1350 INPUT "STATE THE NUMBER OF TERMS PER YEAR";NY
  145. 1360 IF F=3 GOTO 1420 
  146. 1370 INPUT "STATE THE NUMBER OF PERIODS OF THE LOAN";N
  147. 1380 IF F=2 GOTO 1420 
  148. 1390 INPUT "STATE THE AMOUNT OF EACH PAYMENT, IN $";P
  149. 1400 IF F=4 GOTO 1420 
  150. 1410 CLS:PRINT:PRINT "THIS IS AN ITERATIVE PROCESS AND WILL TAKE A FEW SECONDS"
  151. 1420 I=8.000001E-03
  152. 1430 I1=P/PV*((1+I)^N-1)/(1+I)^N
  153. 1440 IF ABS(I-I1)<.000001 THEN 1470 
  154. 1450 I=I1
  155. 1460 GOTO 1430 
  156. 1470 I=I1*NY*100
  157. 1480 CLS:PRINT
  158. 1490 PRINT "FOR A LOAN WITH A PRESENT VALUE OF $";PV
  159. 1500 PRINT "AND";N;"PAYMENTS OF $";P;", WHERE THERE"
  160. 1510 PRINT "ARE";NY;"PAYMENTS PER YEAR, THE ANNUAL"
  161. 1520 PRINT "INTEREST RATE IS ";
  162. 1530 PRINT USING A$;I
  163. 1540 F=0:PRINT
  164. 1550 PRINT "DO YOU WANT  TO :"
  165. 1560 PRINT "   1 - CHANGE LOAN VALUE"
  166. 1570 PRINT "   2 - CHANGE NUMBER OF INTEREST PERIODS"
  167. 1580 PRINT "   3 - CHANGE PERIODS PER YEAR"
  168. 1590 PRINT "   4 - CHANGE PAYMENT AMOUNT"
  169. 1600 PRINT "   5 - RERUN ENTIRE PROGRAM"
  170. 1610 PRINT "   6 - RETURN TO MENU"
  171. 1620 PRINT:INPUT "ENTER THE NUMBER OF YOUR CHOICE";F
  172. 1630 IF F<1 OR F>6 THEN 1620 
  173. 1640 ON F GOTO 1330,1370,1350,1390,1310,10   
  174. 1650 F=INT(F):RUN   
  175. 1660 END
  176. 1670 CLS:CH=0:PRINT:PRINT
  177. 1680 PRINT "USING THE FOR MAT  (MM,DD,YYYY),
  178. 1690 INPUT "ENTER THE FIRST DATE ";M,D,Y:GOSUB 1870
  179. 1700 N=M:F=D:Z=Y:E=T
  180. 1710 IF CH=1 GOTO 1740 
  181. 1720 INPUT "ENTER THE SECOND DATE ";M,D,Y:GOSUB 1870
  182. 1730 P=M:G=D:W=Y:L=T
  183. 1740 IF E>L THEN PRINT "CHECK THE DATES.  TRY AGAIN":GOTO 1690 
  184. 1750 O=L-E:CLS:PRINT:PRINT:PRINT
  185. 1760 PRINT "THE LENGTH IN DAYS FROM ";N;"/";F;"/";Z
  186. 1770 PRINT " TO  ";P;"/";G;"/";W;" IS";O;" DAYS."
  187. 1780 CH=0:PRINT:PRINT "DO YOU WISH  TO :"
  188. 1790 PRINT "   1 - CHANGE EARLY DATE"
  189. 1800 PRINT "   2 - CHANGE LATEST DATE"
  190. 1810 PRINT "   3 - RERUN ENTIRE PROGRAM"
  191. 1820 PRINT "   4 - RETURN TO MENU"
  192. 1830 INPUT "ENTER THE NUMBER OF YOUR CHOICE";CH
  193. 1840 IF (CH<>INT(CH)) OR CH>4 THEN 1830 
  194. 1850 IF CH<=0 THEN 1830 
  195. 1860 ON CH GOTO 1690,1720,1670,10
  196. 1870 YY=Y-1:T=365*YY+FIX(YY/4)-FIX(YY/100)+FIX(YY/400)
  197. 1880 CD=30*(M-1)+FIX((M-1)/3)+D
  198. 1890 IF M=2 OR M=9 OR M>10 THEN CD=CD+1:GOTO 1910
  199. 1900 IF M>2 AND M<8 AND M<>6 THEN CD=CD-1
  200. 1910 IF M<3 OR Y<>4*FIX(Y/4) THEN 1930
  201. 1920 IF Y=400*FIX(Y/400) OR Y<>100*FIX(Y/100) THEN CD=CD+1
  202. 1930 T=T+CD:RETURN
  203. 1940 CLS:PRINT:PRINT "THIS PROGRAM WILL DETERMINE THE LENGTH OF TIME NEEDED"
  204. 1950 PRINT " TO  PAY AN INSTALLMENT LOAN.  PLEASE PROVIDE THE "
  205. 1960 PRINT "FOLLOWING INFORMATION."
  206. 1970 PRINT:INPUT "WHAT WAS THE ORIGINAL AMOUNT OF THE LOAN";OA
  207. 1980 IF F=1 GOTO 2040 
  208. 1990 INPUT "HOW MUCH IS THE PAYMENT";PT
  209. 2000 IF F=2 GOTO 2040 
  210. 2010 INPUT "HOW MANY PAYMENTS PER YEAR";PY
  211. 2020 IF F=3 GOTO 2040 
  212. 2030 INPUT "WHAT IS THE ANNUAL INTEREST RATE";IR
  213. 2040 CLS:IO=OA*IR/100/PY
  214. 2050 IF PT<=IO THEN PRINT "IMPOSSIBLE!  THE PAYMENT DOES NOT COVER THE INTEREST. INTEREST ONLY FOR THE PERIOD IS $";IO;" TRY AGAIN.":GOTO 1970 
  215. 2060 Y=-(LOG(1-(OA*(IR/100))/(PY*PT))/(LOG(1+(IR/100)/PY)*PY))
  216. 2070 NP=Y*PY
  217. 2080 PRINT "FOR AN ORIGINAL LOAN AMOUNT OF $";OA;"PAYABLE"
  218. 2090 PRINT "AT";IR;"% WITH";PY;"PAYMENTS PER YEAR, THE NUMBER OF
  219. 2100 PRINT "$";PT;" PAYMENTS NECESSARY TO PAY THE LOAN IS";NP
  220. 2110 PRINT "OR";Y;" YEARS."
  221. 2120 PRINT:PRINT "WHAT DO YOU WANT TO DO:"
  222. 2130 PRINT "    1 - CHANGE ORIGINAL LOAN AMOUNT
  223. 2140 PRINT "    2 - CHANGE AMOUNT OF PAYMENT
  224. 2150 PRINT "    3 - CHANGE PAYMENTS PER YEAR
  225. 2160 PRINT "    4 - CHANGE ANNUAL INTEREST RATE
  226. 2170 PRINT "    5 - RERUN ENTIRE PROGRAM
  227. 2180 PRINT "    6 - RETURN TO MENU
  228. 2190 PRINT:PRINT "ENTER THE NUMBER OF YOUR CHOICE:";:INPUT F
  229. 2200 IF F<>ABS(INT(F)) OR F>6 THEN 2190 
  230. 2210 ON F GOTO 1970,1990,2010,2030,1940,10   
  231. 2220 CLS:PRINT:PRINT "THIS PROGRAM DETERMINES THE PRESENT VALUE OF A SERIES"
  232. 2230 PRINT "OF PAYMENTS.  IT IS NORMALLY USED TO DETERMINE THE AMOUNT
  233. 2240 PRINT "REMAINING ON A LOAN.  YOU MUST KNOW THE AMOUNT OF THE
  234. 2250 PRINT "REGULAR PAYMENT, THE NUMBER OF PAYMENTS REMAINING,
  235. 2260 PRINT "THE NUMBER OF PAYMENTS PER YEAR AND THE INTEREST RATE.
  236. 2270 PRINT:INPUT "HOW MUCH IS THE REGULAR PAYMENT";PT
  237. 2280 IF F=1 GOTO 2340 
  238. 2290 INPUT "HOW MANY PAYMENTS REMAIN       ";NP
  239. 2300 IF F=2 GOTO 2340 
  240. 2310 INPUT "HOW MANY PAYMENTS PER YEAR     ";PY
  241. 2320 IF F=3 GOTO 2340 
  242. 2330 INPUT "WHAT IS THE ANNUAL INTEREST RATE";IR
  243. 2340 I=IR/100:CLS:T1=1+(I/PY):T1=T1^NP:T1=1/T1:T1=1-T1
  244. 2350 PR=PT*PY*T1/I
  245. 2360 PRINT "FOR ";NP;" PAYMENTS OF $";PT;"WHERE THERE ARE";PY
  246. 2370 PRINT "PAYMENTS PER YEAR AT AN ANNUAL INTEREST RATE OF";IR;"%"
  247. 2380 PRINT "THE ORIGINAL PRINCIPAL (OR THE VALUE OF THE REMAINING
  248. 2390 PRINT "PAYMENTS) IS $";PR
  249. 2400 PRINT:PRINT:PRINT "WHAT DO YOU WANT TO DO:
  250. 2410 PRINT "    1 - CHANGE PAYMENT AMOUNT
  251. 2420 PRINT "    2 - CHANGE NUMBER OF PAYMENTS
  252. 2430 PRINT "    3 - CHANGE PAYMENTS PER YEAR
  253. 2440 PRINT "    4 - CHANGE ANNUAL INTEREST RATE
  254. 2450 PRINT "    5 - RERUN ENTIRE PROGRAM
  255. 2460 PRINT "    6 - RETURN TO MENU
  256. 2470 INPUT "ENTER THE NUMBER OF YOUR CHOICE";F
  257. 2480 IF F<>ABS(INT(F)) OR F>6 THEN 2470 
  258. 2490 ON F GOTO 2270,2290,2310,2330,2220,10   
  259. 2500 END
  260. 2510 CLEAR 30
  261. 2520 ON ERROR GOTO 4010 
  262. 2530 DEFDBL A-E,G-W:DEFINT F,X,Z
  263. 2540 A1$="####,###.##"
  264. 2550 A2$="###,###.##"
  265. 2560 A3$="##.##"
  266. 2570 A4$="##"
  267. 2580 A5$="###,###.##-"
  268. 2590 A6$="#####,###.##"
  269. 2600 CLS:PRINT "WHAT IS THE PURCHASE PRICE OF THE PROPERTY";
  270. 2610 INPUT GP
  271. 2620 IF X=4 GOTO 3010 
  272. 2630 PRINT "WHAT IS THE VACANCY ALLOWANCE (IN %)";
  273. 2640 INPUT VA
  274. 2650 IF X=2 GOTO 3010 
  275. 2660 PRINT "HOW MANY UNITS DOES THE PROPERTY HAVE";:INPUT UN
  276. 2670 PRINT "HOW MANY SQUARE FEET OF USABLE SPACE";:INPUT SF
  277. 2680 PRINT "WHAT IS THE ANTICIPATED GROSS INCOME";
  278. 2690 INPUT GI
  279. 2700 IF X=1 THEN 3010 
  280. 2710 PRINT "WHAT IS THE EXPECTED EXPENSE RATIO, THAT IS, THE"
  281. 2720 INPUT "EXPENSES OVER THE GROSS INCOME, IN %";ER
  282. 2730 IF X=3 THEN 3010 
  283. 2740 INPUT "HOW MANY MORTGAGES WILL THERE BE, 1 OR 2";MN:CLS:IF MN>2 GOTO 2740 
  284. 2750 CLS:PRINT "FOR INTEREST ONLY OR BALLOON MORTGAGES,"
  285. 2760 PRINT "MONTHS = 1000"
  286. 2770 DEFINT I
  287. 2780 MT=0
  288. 2790 FOR I=1 TO 2:AM(I)=0:TM(I)=0:RT(I)=0:Y1(I)=0
  289. 2800 CF(I)=0:PT(I)=0:NEXT I
  290. 2810 FOR I=1 TO MN
  291. 2820 PRINT:PRINT "FOR MORTGAGE NUMBER ";I;"GIVE THE FOLLOWING"
  292. 2830 INPUT "TOTAL AMOUNT OF THE MORTGAGE";AM(I)
  293. 2840 INPUT "THE TERM, IN MONTHS";TM(I)
  294. 2850 INPUT "THE INTEREST RATE, IN % ";RT(I)
  295. 2860 MT=MT+AM(I)
  296. 2870 NEXT I
  297. 2880 IF X=5 GOTO 3010 
  298. 2890 CLS:PRINT "DESCRIBE DEPRECIATION METHODS"
  299. 2900 INPUT "ALLOCATION TO BUILDING IN % ";D1
  300. 2910 INPUT "ALLOCATION TO PERSONALTY IN %";D2
  301. 2920 IF D1+D2>=100 THEN PRINT " TOO MUCH":FOR F3=1 TO 1000:NEXT F3:GOTO 2900
  302. 2930 PRINT "WHAT METHOD OF DEPRECIATION IS TO BE USED"
  303. 2940 PRINT "FOR THE BUILDING.  INPUT SL, DDB, 125%, OR 150%";
  304. 2950 INPUT DB$:IF Y=10 THEN 3300
  305. 2960 INPUT "TERM OF BUILDING DEPRECIATION, IN YRS";YB
  306. 2970 PRINT "WHAT METHOD OF DEPRECIATION IS TO BE USED"
  307. 2980 PRINT "FOR PERSONAL PROPERTY.  INPUT SL, DDB, 125% OR 150%";
  308. 2990 INPUT DP$:IF Y=11 THEN GOTO 3350
  309. 3000 INPUT "TERM OF PERSONAL PROPERTY DEP. IN YRS";YP
  310. 3010 CLS:PRINT "COMPUTER WORKING - BE WITH YOU IN A FEW SECONDS...."
  311. 3020 VS=VA*GI/100
  312. 3030 ER(1)=ER*(GI-VS)/100
  313. 3040 OI=GI-VS-ER(1)
  314. 3050 IF MN=0 THEN 3230 
  315. 3060 DEFDBL I:M1=0:M2=0:PT(1)=0:PT(2)=0:IT(1)=0:IT(2)=0
  316. 3070 FOR X=1 TO MN
  317. 3080  IF TM(X)=1000 THEN IT(X)=AM(X)*(RT(X)/100):GOTO 3200 
  318. 3090  I(X)=RT(X)/1200
  319. 3100  T=(I(X)+1)^(-TM(X)):T=1-T:MP(X)=I(X)*AM(X)/T
  320. 3110  MP(X)=INT(MP(X)*100+.5)/100
  321. 3120  IT(X)=0:PT(X)=0:RP=AM(X)
  322. 3130  FOR Z=1 TO 12
  323. 3140   IM=INT(RP*I(X)*100+.5)/100
  324. 3150   PM=MP(X)-IM
  325. 3160   IT(X)=IT(X)+IM
  326. 3170   PT(X)=PT(X)+PM
  327. 3180   RP=RP-PM
  328. 3190  NEXT Z
  329. 3200  IT=IT+IT(X):PT=PT+PT(X)
  330. 3210 NEXT X
  331. 3220 M1=PT(1)+IT(1):M2=PT(2)+IT(2)
  332. 3230 CF=OI-M1-M2
  333. 3240 PP=PT(1)+PT(2)
  334. 3250 AM=AM(1)+AM(2)
  335. 3260 RN=CF+PP
  336. 3270 EQ=GP-AM
  337. 3280 RT=RN/EQ*100
  338. 3290 DP=0
  339. 3300 IF DB$="DDB" THEN DP=D1*GP/YB/50:GOTO 3350 
  340. 3310 IF DB$="SL" THEN DP=D1*GP/YB/100:GOTO 3350 
  341. 3320 IF DB$="125%" THEN DP=D1*GP/YB*.0125:GOTO 3350 
  342. 3330 IF DB$="150%" THEN DP=D1*GP/YB*.015:GOTO 3350 
  343. 3340 PRINT:PRINT "ENTER PROPER DEPRECIATION METHOD":FOR Y=1 TO 1000:NEXT Y:Y=10:GOTO 2930 
  344. 3350 IF DP$="DDB" THEN DP=DP+D2/YP/50:GOTO 3400 
  345. 3360 IF DP$="SL" THEN DP=DP+D2*GP/YP/100:GOTO 3400 
  346. 3370 IF DP$="125%" THEN DP=DP+D2*GP/YP*.0125:GOTO 3400 
  347. 3380 IF DP$="150%" THEN DP=DP+D2*GP/YP*.015:GOTO 3400 
  348. 3390 PRINT:PRINT "NEED METHOD FOR PERSONAL PROPERTY DEPRECIATION":FOR Y=1 TO 1000:NEXT Y:Y=11:GOTO 2970 
  349. 3400 TI=RN-DP
  350. 3410 PU=GP/UN
  351. 3420 PF=GP/SF
  352. 3430 CR=OI/GP*100
  353. 3440 MR=GP/(GI-VS)
  354. 3450 '
  355. 3460 CLS:FOR X=0 TO 63:PRINT "+";:NEXT X:PRINT
  356. 3470 PRINT "COMPUTED GROSS     ";:PRINT USING A1$;GI;
  357. 3480 PRINT TAB(33)"MTG PMT YR1  #1         #2"
  358. 3490 PRINT "VAC ALLOWANCE ";:PRINT USING A4$;VA;:PRINT " %  ";:PRINT USING A2$;VS;
  359. 3500 PRINT TAB(33)"PRINCIPAL ";:PRINT USING A2$;PT(1);:PRINT " ";:PRINT USING A2$;PT(2)
  360. 3510 PRINT "EXP. RATIO ";:PRINT USING A3$;ER;:PRINT " %";:PRINT " ";:PRINT USING A1$;ER(1);
  361. 3520 PRINT TAB(33)"INTEREST  ";:PRINT USING A2$;IT(1);:PRINT " ";:PRINT USING A2$;IT(2)
  362. 3530 PRINT "NET OPER INC.      ";:PRINT USING A1$;OI;:PRINT TAB(33)"TOTAL     ";:PRINT USING A2$;M1;:PRINT " ";:PRINT USING A2$;M2
  363. 3540 FOR X=0 TO 63:PRINT "+";:NEXT X:PRINT
  364. 3560 PRINT "CASH FLOW           ";:PRINT USING A5$;CF;:PRINT " ";:PRINT TAB(33)"PURCH PRICE        ";:PRINT USING A6$;GP
  365. 3570 PRINT "PRIN. PAYMENT       ";:PRINT USING A5$;PP;
  366. 3580 PRINT TAB(33)"MORTGAGE TOTAL     ";:PRINT USING A6$;AM
  367. 3590 PRINT "EQU RTN = ";:PRINT USING A3$;RT;:PRINT " %   ";:PRINT USING A5$;RN;
  368. 3600 PRINT TAB(33)"EQUITY             ";:PRINT USING A6$;EQ
  369. 3610 PRINT "DEPRECIATION        ";:PRINT USING A5$;DP;
  370. 3620 PRINT TAB(33)"RTN ON CAP RATE         ";:PRINT USING A3$;CR;:PRINT " %"
  371. 3630 PRINT "TAXABLE INCOME      ";:PRINT USING A5$;TI;
  372. 3640 PRINT TAB(33)"MULTIPLIER (X EARNINGS)   ";:PRINT USING A3$;MR
  373. 3650 FOR X=0 TO 63:PRINT "+";:NEXT X:PRINT
  374. 3660 PRINT "PRICE PER UNIT = ";:PRINT USING A1$;PU;
  375. 3670 PRINT TAB(33)"PRICE / SQ FT =      ";:PRINT USING A2$;PF
  376. 3680 FOR X=0 TO 63:PRINT "+";:NEXT X:PRINT:PRINT
  377. 3690 PRINT "DO YOU WISH TO  1 - DISPLAY CURRENT VALUES"
  378. 3692 PRINT "                2 - CHANGE A VALUE"
  379. 3694 PRINT "                3 - RERUN THE PROGRAM"
  380. 3696 PRINT "                4 - RETURN TO MENU"
  381. 3710 PRINT:INPUT "ENTER THE NUMBER OF YOUR CHOICE:";F
  382. 3720 IF F<>ABS(INT(F)) OR F>4 GOTO 3710 
  383. 3730 ON F GOTO 3740,3880,2510,10   
  384. 3740 CLS:PRINT "PRICE";TAB(33)"";:PRINT USING A6$;GP
  385. 3750 PRINT "GROSS INCOME";TAB(33)"";:PRINT USING A6$;GI
  386. 3760 PRINT:PRINT "DEPRECIATION";TAB(20)"% ALLOC.";TAB(30)"YEARS";TAB(40)"TYPE
  387. 3770 PRINT "BUILDING";TAB(20)D1;TAB(30)YB;TAB(40)DB$
  388. 3780 PRINT "PERSONAL PROP.";TAB(20)D2;TAB(30)YP;TAB(40)DP$
  389. 3790 IF MN=0 THEN PRINT:PRINT "THERE ARE NO MORTGAGES":GOTO 3830 
  390. 3800 PRINT:FOR X1=1 TO MN:PRINT "MTG. #";X1;"IS $";:PRINT USING A6$;AM(X1);:PRINT " AT";RT(X1);"% ";:IF TM(X1)=1000 THEN PRINT "FIRST YEAR INTEREST ONLY":GOTO 3820 
  391. 3810 PRINT "OVER";TM(X1);" PERIODS."
  392. 3820 NEXT X1
  393. 3830 PRINT:PRINT "THE BUILDING HAS"UN;"UNITS AND";SF;"SQUARE FEET.
  394. 3840 PRINT:PRINT "DO YOU WISH TO  1 - DISPLAY FIRST YEAR"
  395. 3842 PRINT "                2 - CHANGE A VALUE"
  396. 3844 PRINT "                3 - RERUN PROGRAM"
  397. 3850 PRINT "                4 - RETURN TO MENU"
  398. 3855 PRINT:PRINT "ENTER THE NUMBER OF YOUR CHOICE ";:INPUT X
  399. 3860 X=ABS(INT(X)):ON X GOTO 3450,3880,2510,10
  400. 3870 GOTO 3840 
  401. 3880 CLS
  402. 3890 PRINT:PRINT "DO YOU WISH TO CHANGE:
  403. 3900 PRINT "    1 - COMPUTED GROSS INCOME
  404. 3910 PRINT "    2 - VACANCY ALLOWANCE
  405. 3920 PRINT "    3 - EXPENSE RATIO
  406. 3930 PRINT "    4 - PURCHASE PRICE
  407. 3940 PRINT "    5 - MORTGAGE INFORMATION
  408. 3950 PRINT "    6 - DEPRECIATION INFORMATION
  409. 3960 PRINT:PRINT "ENTER THE NUMBER OF YOUR CHOICE ";:INPUT X
  410. 3970 IF X<>ABS(INT(X)) OR F>6 THEN 3960 
  411. 3980 ON X GOTO 2680,2630,2710,2600,2740,2890
  412. 3990 GOTO 3960 
  413. 4000 END
  414. 4010 CLS:IF ERR/2+1=11 THEN PRINT "A DIVIDE BY ZERO ERROR HAS OCCURRED.  THIS USUALLY" ELSE 4050
  415. 4020 PRINT "MEANS THAT A VALUE WAS NOT ENTERED PROPERLY.  IT
  416. 4030 PRINT "MIGHT MEAN THAT THE ERROR OTHERWISE WAS COMPUTED.
  417. 4040 INPUT "LET'S GO BACK AND TRY AGAIN.  PRESS ENTER WHEN READY";A$:RUN   
  418. 4050 PRINT "ERROR";ERR;"HAS OCCURRED ON LINE";ERL;
  419. 4055 PRINT ".  LET'S GO BACK AND TRY AGAIN."
  420. 4060 PRINT:INPUT "PRESS ENTER FOR MENU.";A$:RUN
  421. 4220 'NOMINAL & EFFECTIVE INTEREST RATES
  422. 4230 CLEAR:ON ERROR GOTO 5950 
  423. 4240 CLS:PRINT "THIS PROGRAM GIVES YOU THE NOMINAL AND EFFECTIVE
  424. 4250 PRINT "INTEREST RATES WHEN GIVEN THE FUTURE VALUE, PRESENT
  425. 4260 PRINT "VALUE, NUMBER OF PERIODS BETWEEN THE TWO, AND THE NUMBER
  426. 4270 PRINT "OF COMPOUNDING PERIODS PER YEAR.
  427. 4280 PRINT:INPUT "ENTER FUTURE VALUE";FV
  428. 4290 INPUT "ENTER PRESENT VALUE";PV
  429. 4300 INPUT "ENTER TOTAL NUMBER OF PERIODS";NP
  430. 4310 INPUT "ENTER NUMBER OF PERIODS PER YEAR";PY
  431. 4320 NR=(PY*((FV/PV)^(1/NP))-PY)*100
  432. 4330 ER=((FV/PV)^(PY/NP)-1)*100
  433. 4340 PRINT:PRINT "THE NOMINAL RATE IS";NR;" %
  434. 4350 PRINT "THE EFFECTIVE RATE IS";ER;" %
  435. 4360 GOTO 4060
  436. 4380 'INTERNAL RATE OF RETURN
  437. 4390 CLEAR:CLS:ON ERROR GOTO 5950 
  438. 4400 PRINT "THIS PROGRAM FIGURES THE INTERNAL RATE OF RETURN
  439. 4410 PRINT "ON AN INVESTMENT, THE PERIODIC EARNINGS OF THAT
  440. 4420 PRINT "INVESTMENT, DISCOUNTED FOR THE PRESENT VALUE OF
  441. 4430 PRINT "THE EXPECTED SALES PRICE.":PRINT
  442. 4440 INPUT "ENTER THE PURCHASE PRICE OR INVESTMENT";PV
  443. 4450 INPUT "ENTER THE EXPECTED SALE PRICE";FV
  444. 4460 INPUT "ENTER THE NUMBER OF PERIODS PER YEAR";PY
  445. 4470 INPUT "ENTER THE TOTAL NUMBER OF PERIODS";N
  446. 4480 DIM EP(N)
  447. 4490 FOR X=1 TO N:PRINT "ENTER THE EARNINGS FOR PERIOD #";X;:INPUT EP(X):NEXT X
  448. 4500 CLS:PRINT:PRINT:PRINT:PRINT "COMPUTER WORKING.  BE WITH YOU IN A FEW SECONDS. . . .
  449. 4510 IR=.15/PY:I1=.25
  450. 4520 PF=FV/(1+IR)^N
  451. 4530 TE=0
  452. 4540 FOR X=1 TO N
  453. 4550 PE=EP(X)/(1+IR)^X
  454. 4560 TE=TE+PE
  455. 4570 NEXT X
  456. 4580 I1=IR*(PF+TE)/PV
  457. 4590 IF ABS(IR-I1)<.000001 THEN IR=IR*PY*100:GOTO 4610 
  458. 4600 IR=I1:GOTO 4520 
  459. 4610 CLS:PRINT:PRINT:PRINT:PRINT "THE RATE OF RETURN IS";IR;"%"
  460. 4620 GOTO 970
  461. 4630 CLS:CLEAR:PRINT "THIS PROGRAM WILL GIVE YOU THE FUTURE VALUE OF A SERIES
  462. 4640 ON ERROR GOTO 5950 
  463. 4650 PRINT "OF REGULAR DEPOSITS, WHERE EACH DEPOSIT IS IDENTICAL,
  464. 4660 PRINT "AND INTEREST IS COMPOUNDED WITH THE SAME FREQUENCY
  465. 4670 PRINT "THAT THE DEPOSITS ARE MADE.  THIS IS KNOWN AS
  466. 4680 PRINT "AN ANNUITY DUE, THAT IS, PAYMENTS ARE MADE
  467. 4690 PRINT "IN ADVANCE OF THE INTEREST BEING PAID, SUCH AS A
  468. 4700 PRINT "SAVINGS ACCOUNT OR INSURANCE POLICY.
  469. 4710 INPUT "ENTER THE AMOUNT OF THE REGULAR DEPOSIT ";RD
  470. 4720 INPUT "ENTER THE NUMBER OF DEPOSITS PER YEAR ";PY
  471. 4730 PRINT "USING THE FORMAT (YY,MM),ENTER THE YEARS AND
  472. 4740 INPUT "MONTHS OF THE TERM ";Y,M
  473. 4750 Y=Y+M/12
  474. 4760 INPUT "ENTER THE NOMINAL ANNUAL INTEREST RATE, IN %";IR
  475. 4770 I=IR/PY/100
  476. 4780 T=(1+I)^(PY*Y):T=T-1:T=T/I:FV=RD*T
  477. 4790 PRINT:PRINT "THE FUTURE VALUE IS $";FV
  478. 4800 PRINT:INPUT "PRESS ENTER TO RETURN TO MENU";A$:RUN 
  479. 4810 S TO P
  480. 4820 CLS:PRINT "THIS PROGRAM COMPUTES THE AMOUNT OF REGULAR DEPOSITS
  481. 4830 PRINT "NEEDED TO PRODCE A PARTICULAR FUTURE VALUE.  IT IS
  482. 4840 PRINT "AN EXAMPLE OF AN ANNUITY DUE.":PRINT
  483. 4850 INPUT "WHAT IS THE FUTURE VALUE";FV
  484. 4860 INPUT "ENTER THE NUMBER OF DEPOSITS PER YEAR";PY
  485. 4870 PRINT "ENTER THE NUMBER OF YEARS, USING THE
  486. 4880 INPUT "FORMAT (YY,MM) ";Y,M
  487. 4890 Y=Y+M/12
  488. 4900 INPUT "ENTER THE NOMINAL ANNUAL INTEREST RATE, IN %";IR
  489. 4910 I=IR/PY/100
  490. 4920 T=(1+I)^(PY*Y):T=T-1:T=I/T:RD=FV*T
  491. 4930 PRINT:PRINT "THE AMOUNT OF THE REGULAR DEPOSIT IS $";RD
  492. 4940 PRINT:INPUT "PRESS ENTER FOR MENU";A$:RUN 
  493. 4950 CLS:PRINT "APPLYING A PARTICULAR DEPRECIATION RATE TO A SET
  494. 4960 PRINT "INVESTMENT, THIS PROGRAM DETERMINES THE AMOUNT OF
  495. 4970 PRINT "DEPRECIATION FOR EACH YEAR.":PRINT
  496. 4980 INPUT "ENTER THE AQUISITION PRICE ";PR
  497. 4990 INPUT "ENTER THE DEPRECIATION RATE, IN % ";DR
  498. 5000 INPUT "ENTER THE NUMBER OF YEARS OF DEPRECIATION ";YD
  499. 5010 DR=DR/100:DT=0
  500. 5020 PRINT "YEAR","DEPREC.","REMAINDER
  501. 5030 FOR X=1 TO YD
  502. 5040  DP=DR*PR*(1-DR)^(X-1)
  503. 5050  DT=DT+DP
  504. 5060  PRINT X,DP,PR-DT
  505. 5070  IF YD>12 THEN INPUT "PRESS ENTER TO CONTINUE";A$
  506. 5080 NEXT X
  507. 5090 PRINT:INPUT "PRESS ENTER TO RETURN TO MENU";A$:RUN 
  508. 5100 CLS:PRINT "THIS PROGRAM DETERMINES THE DEPRECIATION RATE
  509. 5110 PRINT "IF THE CURRENT VALUE, ORIGINAL PRICE, AND HOLDING
  510. 5120 PRINT "TIME ARE KNOWN.":PRINT
  511. 5130 INPUT "ENTER THE CURRENT VALUE ";DP
  512. 5140 INPUT "ENTER THE ORIGINAL PRICE ";OP
  513. 5150 INPUT "ENTER THE HOLDING TIME, IN YEARS ";YD
  514. 5160 DR=(1-(DP/OP)^(1/YD))*100
  515. 5170 PRINT:PRINT "THE DEPRECIATION RATE IS";DR;" %"
  516. 5180 PRINT:INPUT "PRESS ENTER TO RETURN TO MENU";A$:RUN 
  517. 5190 CLS:PRINT "THIS PROGRAM DETERMINES THE SALVAGE VALUE
  518. 5200 PRINT "OF AN ITEM GIVEN THE AGE, DEPRECIATION RATE AND
  519. 5210 PRINT "ORIGINAL PRICE.
  520. 5220 PRINT:INPUT "ENTER THE AGE OF THE ITEM, IN YEARS";YD
  521. 5230 INPUT "ENTER THE DEPRECIATION RATE, IN % ";DR
  522. 5240 INPUT "ENTER THE ORIGINAL PRICE ";OP
  523. 5250 PRINT:DR=DR/100
  524. 5260 SV=OP*(1-DR)^YD
  525. 5270 PRINT "THE SALVAGE VALUE IS $";SV
  526. 5280 PRINT:INPUT "PRESS ENTER TO RETURN TO MENU";A$:RUN 
  527. 5290 CLS:PRINT "THIS PROGRAM PRINTS A DEPRECIATION SCHEDULE FOR 
  528. 5300 PRINT "AN ITEM.  YOU MUST KNOW THE METHOD, AND INPUT THE
  529. 5310 PRINT "PROPER FACTOR FOR THAT METHOD.  FOR STRAIGHT LINE
  530. 5320 PRINT "DEPRECIATION, INPUT 100, FOR 125% DECLINING BALANCE
  531. 5330 PRINT "INPUT 125, FOR 150% DECLINING BALANCE INPUT 150,
  532. 5340 PRINT "AND FOR DOUBLE DECLINING BALANCE INPUT 200":PRINT
  533. 5350 INPUT "ENTER THE DEPRECIATION FACTOR ";DF
  534. 5360 INPUT "ENTER THE ORIGINAL PRICE ";OP
  535. 5370 INPUT "ENTER THE SALVAGE VALUE  ";SV
  536. 5380 INPUT "ENTER THE NUMBER OF YEARS OF DEPRECIATION";YD
  537. 5390 PRINT
  538. 5400 PRINT "YEAR","DEP.","REMAINING VALUE
  539. 5410 DV=OP-SV:RV=OP:C=0
  540. 5420 IF DF=100 THEN GOTO 5500 
  541. 5430 FOR X=1 TO YD
  542. 5440  C=C+1
  543. 5450 DP=DF/YD/100*RV:RV=RV-DP
  544. 5460  PRINT X,DP,RV
  545. 5470  IF C>11 THEN PRINT:INPUT "PRESS ENTER TO CONTINUE";A$:C=0
  546. 5480 NEXT X
  547. 5490 PRINT:INPUT "PRESS ENTER TO RETURN TO MENU";A$:RUN 
  548. 5500 RV=DV
  549. 5510 C=0
  550. 5520 FOR X=1 TO YD
  551. 5530  C=C+1
  552. 5540  DP=DV/YD:RV=RV-DP
  553. 5550  IF C>11 THEN PRINT:INPUT "PRESS ENTER TO CONTINUE";A$:C=0
  554. 5560  PRINTX,DP,RV+SV
  555. 5570 NEXT X
  556. 5580 PRINT:INPUT "PRESS ENTER TO RETURN TO MENU ";A$:RUN 
  557. 5590 CLS:CLEAR:PRINT "THIS PROGRAM DETERMINES THE PRESENT VALUE OF A COUPON
  558. 5600 ON ERROR GOTO 5950 
  559. 5610 PRINT "BOND AT THE RATE OF INTEREST SELECTED BY YOU.  IT IS
  560. 5620 PRINT "NECESSARY FOR YOU TO GIVE THE COMPUTER YOUR RATE OF
  561. 5630 PRINT "INTEREST AND THE FINANCIAL INFORMATION ON THE BOND.
  562. 5640 PRINT:INPUT "ENTER YOUR DESIRED RATE OF INTEREST, IN %";IR
  563. 5650 INPUT "ENTER THE FACE (REDEMPTION) AMOUNT OF THE BOND";AM
  564. 5660 INPUT "ENTER THE NUMBER OF PAYMENT PERIODS PER YEAR";PY
  565. 5670 INPUT "ENTER THE NUMBER OF PERIODS TO MATURITY";PN
  566. 5680 INPUT "ENTER THE PERIODIC PAYMENT, IN $";PP
  567. 5690 PRINT:PRINT
  568. 5700 IR=IR/PY/100:PV=AM/(1+IR)^PN
  569. 5710 T=(1+IR)^(-PN):T=1-T:T=T/IR:T=T*PP
  570. 5720 PV=PV+T
  571. 5730 PRINT "THE PRESENT VALUE IS $";PV
  572. 5740 PRINT:INPUT "PRESS ENTER TO RETURN TO MENU";A$:RUN 
  573. 5750 CLS:CLEAR
  574. 5760 ON ERROR GOTO 5950 
  575. 5770 PRINT "THIS PROGRAM DETERMINES THE YIELD TO MATURITY ON
  576. 5780 PRINT "A BOND GIVEN THE CURRENT PURCHASE PRICE.  THIS IS
  577. 5790 PRINT "THE TRUE RATE OF RETURN ON A BOND.
  578. 5800 PRINT:INPUT "ENTER THE PURCHASE PRICE OF THE BOND, IN $";PV
  579. 5810 INPUT "ENTER THE REDEMPTION (FACE) VALUE ";FV
  580. 5820 INPUT "ENTER THE ANNUAL QUOTED INTEREST RATE ";IR
  581. 5830 INPUT "ENTER THE NUMBER OF COUPON PAYMENTS PER YEAR ";PY
  582. 5840 INPUT "ENTER THE NUMBER OF PAYMENT PERIODS REMAINING ";N
  583. 5850 INPUT "ENTER THE AMOUNT OF THE COUPON PAYMENT ";CP
  584. 5860 PRINT:PRINT "COMPUTER WORKING.  BE WITH YOU IN A FEW SECONDS . . .
  585. 5870 IR=.08/PY
  586. 5880 PF=FV/(1+IR)^N
  587. 5890 T=(1+IR)^(-N):T=1-T:T=T/IR*CP
  588.